📚 StackLab Tools & Notes

Bạn có thể vào StackLab.VN để đọc thêm nhiều kiến thức hơn về Linux và còn khám phá thêm kiến thức về các lĩnh vực khác nữa!
Trang tools.stacklab.vn chủ yếu phát triển các công cụ phục vụ cho IT. Chúng hoàn toàn miễn phí và mã nguồn mở. Bạn có thể sử dụng chúng cho bất kỳ mục đích nào mà không cần phải trả tiền cho các tính năng này. Nếu bạn có yêu cầu hoặc muốn phát triển thêm các tính năng mới, hãy liên hệ với chúng tôi qua Zalo Group hoặc Facebook.

🗂️ Kiến trúc WordPress High Availability (HA) – 2 VPS tại HCM & HN

🌐 Ví dụ các domain:

Tất cả đều được trỏ về VIP Public IP: 203.0.113.100


🔧 Cấu hình IP – Ví dụ

| Thành phần            | Vị trí       | Public IP       | Private IP    |
|-----------------------|--------------|------------------|--------------|
| **Load Balancer VIP** | Cloud/Anycast| `203.0.113.100`  | N/A          |
| **VPS HCM**           | Hồ Chí Minh  | `203.0.113.101`  | `10.10.1.1`  |
| **VPS HN**            | Hà Nội       | `203.0.113.102`  | `10.10.2.1`  |

🧭 Sơ đồ ASCII

                           Internet
                               |
                            Client
                               |
                               v
                     +-----------------------+
                     | domain: www.example.com
                     |         admin.example.com
                     |         api.example.com
                     | (DNS managed by Mắt Bão)
                     +-----------------------+
                               |
                               v
                        +------------------+
                        |  VIP Load Balancer|   <- Public IP: 203.0.113.100
                        +------------------+
                           /              \
                          /                \
           +-------------------+       +-------------------+
           |     VPS HCM       |       |     VPS HN        |
           | Location: HCM     |       | Location: HN      |
           | Public IP:        |       | Public IP:        |
           | 203.0.113.101     |       | 203.0.113.102     |
           | Private IP:       |       | Private IP:       |
           | 10.10.1.1         |       | 10.10.2.1         |
           +-------------------+       +-------------------+
                 |   |                         |   |
                 |   +-------------------------+   |
                 |      Đồng bộ mã nguồn WP        |
                 |     (rsync/git/private LAN)     |
                 |                                 |
          +---------------+                +---------------+
          | Nginx + PHP-FPM|                | Nginx + PHP-FPM|
          |  WordPress     |                |  WordPress     |
          +---------------+                +---------------+
                 |                                  |
                 |                                  |
         +-------------------+          +-------------------+
         | MySQL Master A     |<------->| MySQL Master B     |
         | 10.10.1.1          |         | 10.10.2.1          |
         +-------------------+         +-------------------+
             Master-Master Replication (Private LAN)

🔄 Logic hoạt động

  1. Client truy cập www.example.com (hoặc subdomain khác) được phân giải tại DNS Provider (Mắt Bão), trả về IP VIP: 203.0.113.100.

  2. Load Balancer (VIP) nhận lưu lượng từ Client và chuyển tiếp đến:

  3. VPS HCM (203.0.113.101) hoặc
  4. VPS HN (203.0.113.102)
  5. Theo cấu hình round-robin, health-check, hoặc failover.

  6. Web Server (Nginx + PHP-FPM) trên mỗi VPS phục vụ mã nguồn WordPress.

  7. Mã nguồn được đồng bộ qua Private IP 10.10.1.1 <-> 10.10.2.1 bằng rsync, unison, hoặc git pull.

  8. MySQL Database hoạt động ở chế độ Master-Master replication:

  9. Cả 2 VPS đều có quyền đọc/ghi.
  10. WordPress có thể kết nối DB nội bộ (qua localhost hoặc private IP).

  11. Khi 1 VPS gặp sự cố:

  12. Load Balancer tự động chuyển hướng toàn bộ lưu lượng sang node còn sống.
  13. Tính sẵn sàng (HA) được đảm bảo.

📌 Ghi chú mở rộng